<?php
/**
 * <https://y.st./>
 * Copyright © 2018 Alex Yst <mailto:copyright@y.st>
 * 
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see <https://www.gnu.org./licenses/>.
**/

$xhtml = array(
	'<{title}>' => 'They still don&apos;t seem to be able to read.',
	'takedown' => '2017-11-01',
	'<{body}>' => <<<END
<section id="IRA">
	<h2>Thos Oregon Saves idiots</h2>
	<p>
		Those Oregon Saves fools wrote back to me, giving me three ways to opt out, instead of actually reading the letter saying I&apos;m trying to get the account set up and <strong>*not*</strong> opt out.
		My response:
	</p>
	<blockquote>
		<p>
			Hello Oregon Saves support,
		</p>
		<p>
			IMPORTANT: IF YOU&apos;RE ABLE TO ESCALATE THIS ISSUE TO A HIGHER REPRESENTATIVE, I RECOMMEND DOING THAT.
			IF SUPPORT STOPS RESPONDING AGAIN, I&apos;M GOING TO ASSUME I NEED TO GET A LAWYER TO DEAL WITH THE FACT THAT OREGON SAVES IS STEALING FROM ME.
			LIKEWISE, IF YOU TELL ME ONE MORE TIME TO CALL YOU BY TELEPHONE EVEN THOUGH I&apos;VE TOLD YOU REPEATEDLY THAT I DON&apos;T HAVE TELEPHONE SERVICE, I&apos;M GOING TO ASSUME I NEED TO GET A LAWYER.
		</p>
		<p>
			Your response tells me you didn&apos;t read my initial letter fully.
			In my last letter, I said, and I quote, &quot;Again, to be clear, I&apos;m not looking for the opt-out form. I&apos;m trying to get the account set up so the money I save will actually be accessible when I retire.&quot;.
			I&apos;m trying to get the account set up, not opt out.
			The new law says *all* Oregonians have the option of an Oregon Saves account that travels with them from job to job.
			That includes Oregonians such as myself that have no telephone service.
			How do I get help setting up this account without a telephone call?
		</p>
		<p>
			Thank you,<br/>
			~ Alex Yst
		</p>
	</blockquote>
</section>
<section id="drudgery">
	<h2>Drudgery</h2>
	<p>
		My discussion post for the day:
	</p>
	<blockquote>
		<ul>
			<li>
				Bits are most easily distinguished when at points the signal changes, so long runs of the same bit make it difficult (impossible without a perfect clock on both ends of the line) to tell where one bit ends and another begins
			</li>
			<li>
				Long runs of the same pattern cause more electromagnetic interference; ostensibly this applies to long runs of a single-bit pattern too
			</li>
			<li>
				Unbalanced signals waste energy when using capacitive coupling
			</li>
		</ul>
		<h3>Elaboration:</h3>
		<p>
			The problem main problem with long runs of the same bit is that the transitions are useful for reorienting and determining where exactly the bit lines lie.
			Without frequent bit changes, it becomes necessary to have a perfect clock on either side of the line, so as to be able to measure when bit changes should occur.
			(A perfect clock is needed on <strong>*each*</strong> side because if only the receiver has a perfect clock, the sender won&apos;t be sending perfectly-timed bits.
			It won&apos;t matter that the receiver is measuring perfectly if the bits themselves aren&apos;t perfectly spaced.)
			In practice, this is far to expensive to implement.
			It&apos;s worth noting that a secondary clock signal can be used, but in that case, the clock signal will be transmitting bit changes.
			While the bit changes aren&apos;t in the data line, they&apos;re still there, meaning that we&apos;re not distinguishing bits without any sort of bit changes.
			If we use this method, we&apos;re still using non-return-to-zero, but we&apos;re tying up a line that could instead be used to transmit more data; we&apos;re effectively tying up half of the two-line transmission channel with non-data.
		</p>
		<p>
			We want the signal to look like white noise.
			This apparent randomness prevents electromagnetic interference.
			If instead, we have a repeating pattern, the interference occurs.
			The book doesn&apos;t mention it, but &quot;0, 0, 0, 0, 0, 0, 0, 0, ...&quot; is a pattern, even if each cycle is only one bit wide.
			I doubt there&apos;s anything special about such a pattern, speaking from a physics standpoint, that would make this sort of pattern any less likely to cause interference than a pattern with a longer cycle.
		</p>
		<p>
			Capacitive coupling is a method of connecting to a receiver.
			Using this method transmits the alternating current of a signal, but filters out the direct current.
			When a signal has an even number of on signals and off signals, it&apos;s direct current is zero, so there&apos;s nothing filtered out; no energy is lost.
			However, if the signal isn&apos;t balanced, the direct current will be non-zero.
			This non-zero signal takes energy to create, so having it filtered out is a waste of that energy.
		</p>
		<div class="APA_references">
			<h3>References:</h3>
			<p>
				Tanenbaum, A. S., &amp; Wetherall, D. J. (2011). 2: The Physical Layer. Retrieved from <a href="https://my.uopeople.edu/pluginfile.php/268182/mod_book/chapter/150450/Chapter%202.pdf"><code>https://my.uopeople.edu/pluginfile.php/268182/mod_book/chapter/150450/Chapter%202.pdf</code></a>
			</p>
		</div>
	</blockquote>
</section>
<section id="banking">
	<h2>Banking issues</h2>
	<p>
		I went into the bank branch to get the issue resolved, and it turns out the banker wasn&apos;t <strong>*trying*</strong> to ignore my email.
		They&apos;re able to receive email, but their bank&apos;s system prevents them from <strong>*sending*</strong> email, except to other employees.
		So how did they send me the initial email I replied to?
		They didn&apos;t.
		An automated system sent it from their email address.
		So they system is set up to send from an address that, if replied to, can&apos;t respond back.
		How idiotic is that?
		But it&apos;s not the banker&apos;s fault, it&apos;s the fault of someone higher up.
		As a side note, that completely explains why the email contradicted what we&apos;d discussed in-branch that day.
	</p>
	<p>
		The banker was confused as to why the account wouldn&apos;t be letting me in.
		They telephoned support who was also baffled, and put me on the line.
		They should have logs of such errors, but I guess they don&apos;t.
		They gave me the option to kill the account and start a new one, which I went along with, but they neglected to tell me my old user name would be locked up and unavailable for the new account.
		The system assigned me a new user name, which I input into my password manager, but I mistakenly didn&apos;t save the change and didn&apos;t find out until I got home.
		Now I have no idea what my user name is.
		It started with &quot;ayst&quot, which was obviously based on my name, but the rest was just gibberish.
		I tried the &quot;forgotten user name&quot; link, but after entering all the requested information into the provided form, I was presented with the same error message as I&apos;ve been getting when trying to log in.
		The problem isn&apos;t fixed; the new account has the same problem.
	</p>
	<p>
		To be honest, I think their website is maliciously discriminating against $a[Tor] $a[IP] addresses, but their error message is so vague that it doesn&apos;t even hint at that (or anything else) whatsoever.
		There&apos;s no reason they <strong>*should*</strong> discriminate against $a[Tor], so I can&apos;t bring that up, as it&apos;d make it look like it&apos;s a valid action for them to take.
		I have to get them to debug this themselves and find the problem, whether it&apos;s that or something else.
	</p>
</section>
<section id="Minetest">
	<h2>Minetest log</h2>
	<p>
		I was kind of frustrated today at work, and because of how mindless my job is, I can perform it perfectly while my mind wanders to other things.
		I didn&apos;t want to focus on the frustration, so I gave myself a difficult problem to solve instead.
		Well, it shouldn&apos;t&apos;ve been difficult, but it was difficult for me.
		I&apos;ve found that at high stat levels, my re-drop mechanic for trying to get the desired drop when digging was incredibly slow, to the point it seemed like the game had frozen.
		I mitigated this a while back by making the re-roller stop re-rolling once the desired outcome was found, instead of continuing to re-roll, but ignore the rolls.
		In practice, this greatly sped things up.
		On average, it should take about twenty rolls for the rarest drops; compare that to the thousands of rolls that slowed the game to a crawl in my test cases.
		On average, this new solution worked, but there was always the outlier possibility that the desired roll never turned up and every roll must be performed.
		I&apos;ve been trying to figure out the equation to simulate all these re-drops without actually performing them all, but I&apos;ve been at a loss.
		If I were better with probabilities, I&apos;d&apos;ve had the solution already.
		Anyway, I used that problem to distract myself from the frustration, and I finally found an equation that would provide my desired solution.
	</p>
	<p>
		After finding the equation, I realised that my automatic detector (not yet built) wouldn&apos;t apply this <code>minequest</code> ability in the one place I need it most in my own project: sand drops.
		The problem is that the stat drop has two items, not one.
		I thought about adding it in <code>renew</code> using <code>minequest</code>&apos;s $a[API], but then I started thinking about how to tweak my plan for autodetection in <code>minequest</code> so I could do this right.
		That was when I realised exactly why this couldn&apos;t be properly autodetected.
		I could set something up to detect this sort of case, but this case isn&apos;t something that should have this ability applied.
		I shouldn&apos;t even add it in <code>renew</code>; it just doesn&apos;t fit the situation.
		Two stats come from this one drop, so to which should the bonus ability belong to?
		Or should it be both?
		Two stats shouldn&apos;t both be able to use their bonus ability toward this same drop-controller though, in my opinion.
		I don&apos;t think I can find a solution I like that&apos;ll provide the drop-chooser I need.
		So now, my plans for a sandstone-based tunnel are threatened.
		I&apos;m not sure how to gather all the silver sand I need without repetitive digging of the same cobble nodes, wearing out my tools faster than I can craft them.
	</p>
	<p>
		Then again ...
		If I rework how the ability works a bit, I think I can attach it to the silver sand stat and not the gravel stat with reasonable justification.
		I just need to make the bonus ability cause stone to drop the sand and gravel instead of cobble.
		It&apos;d save me tonnes of time re-digging the same nodes, too.
		I&apos;ll have to think about that some more.
	</p>
</section>
<section id="driving">
	<h2>Driving instruction</h2>
	<p>
		My driving instructor has arranged to meet me outside Fred Meyer&apos;s tomorrow at 13:00.
		Seeing as I have work that day, it&apos;d be much more convenient to meet earlier, but I&apos;m ecstatic to be able to get this over with at all.
		Hopefully the lesson doesn&apos;t go over two hours though.
		I have no clue how long this session will take, but I need to be at work by 16:00, and I need time both to get ready and to make it home and to work.
	</p>
</section>
END
);
